home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2002 #11 / Amiga Plus CD - 2002 - No. 11.iso / Tools / Development / PowerD / powerd / modules.lha / modules / intuition / classes.m < prev    next >
Encoding:
Text File  |  2001-12-30  |  749 b   |  36 lines

  1. MODULE 'exec/libraries', 'exec/nodes', 'utility/hooks', 'intuition/classusr'
  2.  
  3. OBJECT IClass
  4.   Dispatcher:Hook,
  5.   Reserved:ULONG,
  6.   Super:PTR TO IClass,
  7.   ID:ClassID,
  8.   InstOffset:UWORD,
  9.   InstSize:UWORD,
  10.   UserData:ULONG,
  11.   SubClassCount:ULONG,
  12.   ObjectCount:ULONG,
  13.   Flags:ULONG
  14.  
  15. CONST CLB_INLIST=0,
  16.     CLF_INLIST=1
  17.  
  18. #define INST_DATA(cl,o) ((o)+(cl::IClass.InstOffset))
  19. #define SIZEOF_INSTANCE(cl) ((cl::IClass.InstOffset)+(cl::IClass.InstSize)+SIZEOF__Object)
  20.  
  21. CONST OJ_CLASS=8
  22.  
  23. OBJECT _Object
  24.   Node:MLN,
  25.   Class:PTR TO IClass
  26.  
  27. #define _OBJ(o) (o)
  28. #define BASEOBJECT(_obj) ((_obj)+SIZEOF__Object)
  29. #define _OBJECT(o) ((o)-SIZEOF__Object)
  30. #define OCLASS(o) (_OBJECT(o)+OJ_CLASS)
  31.  
  32. OBJECT ClassLibrary
  33.   Lib:Lib,
  34.   Pad:UWORD,
  35.   Class:PTR TO IClass
  36.